home *** CD-ROM | disk | FTP | other *** search
/ MacHome 2001 May / MacHome CD (May 2001).iso / mac / Stuff / Software / Tools / The Fragmalyzer 1.5.1 / Extras / Headers & Libraries / FrazAPI.r < prev    next >
Encoding:
Text File  |  2000-11-06  |  4.1 KB  |  170 lines  |  [TEXT/CWIE]

  1. /*     
  2.     File:      FrazAPI.r 
  3.     
  4.     Fragmalyzer Plug-in Resources
  5.     
  6.     Version:     1.5
  7.     Date:    September 2000
  8.     
  9.     Copyright © 1998-2000 Dan Wright, All Rights Reserved.
  10.     
  11.     Bugs?:     Please include the version and date of this file.
  12.             Send bug reports to danwr@kagi.com.
  13. */
  14.  
  15. #include <ConditionalMacros.r>
  16.  
  17. #ifndef kFzecVersionCurrent
  18.     #if TARGET_API_MAC_CARBON
  19.         #define kFzecVersionCurrent 2
  20.         #define kFzabVersionCurrent 2
  21.     #else
  22.         #define kFzecVersionCurrent 0
  23.         #define KFzabVersionCurrent 1
  24.     #endif
  25. #endif
  26.  
  27. /*
  28.     AppleScript constants
  29. */
  30.     #define    kAEFragmalyzerSuite        'FraZ'
  31.     #define    kAEFragmalyzerPluginSuite    'Fzec'
  32.     
  33.     #define    cFragment        'Frag'
  34.     #define    cSymbol        'symb'
  35.     #define    cImportLibrary    'iLib'
  36.     
  37.     
  38. /* 
  39.     Menu IDs
  40. */
  41.  
  42.     #define kFrazMenuFile    1001
  43.     #define kFrazMenuEdit    1002
  44.     #define kFrazMenuFragmalyze    1003
  45.     #define kFrazMenuSymbol    1004
  46.  
  47.     #define kFrazMenuUserMin    2000
  48.     #define kFrazMenuUserMax    2009
  49.  
  50.     #define kFrazMenuBar    0
  51.     
  52. /*
  53.     ctEnableFlags
  54.     - indicates conditions under which commands are enabled/disabled
  55. */
  56.     /* values 0-7 are mutually exclusive */
  57.     #define kctAlways          0    /* always enabled */
  58.     #define kctBrowser        1    /* requires active browser window */
  59.     #define kctFragment        2    /* requires selected fragment */
  60.     #define kctImportLibrary    3    /* requires selected import library */
  61.     #define kctApplication    4    /* requires selected application fragment */
  62.  
  63.     #define kctPluginWindow    7    /* requires active Fzec window */
  64.  
  65.     #define kctImportSymbol    8    /* requires that 1+ import symbols be selected */
  66.     #define kctExportSymbol 16    /* requires that 1+ export symbols be selected */
  67.     #define kctSymbol     (kctImportSymbol | kctExportSymbol)  /* any kind of symbol will do */
  68.  
  69.     #define kctExactlyOneSymbol 32    /* requires that ONLY 1 symbol be selected */
  70.  
  71.     #define kctDoubleClickAction 0x0080    /* can handle double-clicks */
  72.  
  73.     #define kctWriteAccess    0x0400    /* browser/fragment must be modifiable */
  74.     #define kctProcess        0x0800    /* context browsers only */
  75.     #define kctNeedsCall     0x1000    /* use FindCommandStatus routine */
  76.     #define kctCallEnabled    0x3000    /* call iff command appears to be enabled (according to other conditions) */
  77.  
  78.     /* 0x0100, 0x0200, 0x4000, 0x8000: reserved for future use */
  79.  
  80. /*
  81.     Miscellaneous
  82. */
  83.     #define    kFzecNoSignature    0
  84.  
  85. /*
  86.     Fzab/Fzec resource
  87. */
  88. #define kFrazBinFormatStrings    1001
  89. #define kFrazPropertyStrings    1002
  90. #define kFrazEnumStrings        1003
  91.  
  92. #define kDisplayDefault        0
  93. #define kDisplayAsSigned        1
  94. #define kDisplayAsUnsigned    2
  95. #define kDisplayAsPad32Hex    4
  96. #define kDisplayAsPad16Hex    5
  97. #define kDisplayAsBytes        6
  98. #define kDisplayAsEnumeration    7
  99. #define kDisplayCustomUnits    8
  100.  
  101. #define kNoFlags            0
  102. #define kFlagsIsBasicProperty    1
  103.  
  104. /* Flags for Fzab */
  105. #define kFlagsIsCarbonizedCFM    1
  106.  
  107. #undef reserved
  108. type 'Fzab'
  109.     {
  110.     integer = KFzabVersionCurrent;
  111.     integer;            /* flags */
  112.     integer;            /* version of plugin */
  113.     
  114.     integer = $$CountOf(Formats);
  115.     integer = $$CountOf(Properties);
  116.     integer = $$CountOf(Enumerations);
  117.         
  118.     array Formats {
  119.         literal longint;    /* binary format tag*/
  120.         longint reserved;
  121.         };
  122.         
  123.     array Properties {
  124.         literal longint;    /* property tag */
  125.         integer;        /* display type */
  126.         integer;        /* flags */
  127.         };
  128.         
  129.     array Enumerations {
  130.         literal longint;    /* enumeration value tag */
  131.         longint reserved;
  132.         };
  133.     };
  134.     
  135. type 'Fzec'
  136.     {
  137.     integer = kFzecVersionCurrent;
  138.     integer = 0; /* reserved */
  139.     literal longint;    /* signature */
  140.     integer = $$Countof(AppleEvents);
  141.     integer = $$CountOf(Properties);
  142.     
  143.         /* custom AppleEvents supported by the plugin */
  144.     array AppleEvents {
  145.         literal longint;     /* suite ID */
  146.         literal longint;    /* event ID */
  147.         };
  148.         
  149.         /*     (a) existing properties for which plugin supports SetData;
  150.             (b) custom properties for which plugin supports GetData and/or SetData [NYI] */
  151.     array Properties {
  152.         literal longint;    /* class */
  153.         literal longint;    /* property */
  154.         };
  155.         
  156.         /* and now the commands (and menus) */
  157.     array {
  158.         integer = kFzecVersionCurrent;
  159.         integer;        /* ctEnableFlags  */
  160.         integer;        /* xCmdID */
  161.         integer;        /* menu */
  162.         char;        /* 2: menu key (extended Menu Manager only) */
  163.         byte;        /* 2: menu key modifiers */
  164.         integer;        /* (reserved: set to 0) */
  165.         pstring [31];    /* name of command (for menu) */
  166.         };
  167.     };
  168. #define reserved false
  169.  
  170.